package com.xydtech.ecard.merchant.service;

import com.xydtech.ecard.merchant.domain.EcardEnterpriseInfo;

import java.util.List;

/**
 * 电子名片企业信息Service接口
 *
 * @author yuzhiguo
 * @date 2024-08-15 上午9:38
 */
public interface IEcardEnterpriseInfoService {

    /**
     * 查询电子名片企业信息
     *
     * @param id 电子名片企业信息主键
     * @return 电子名片企业信息
     */
    public EcardEnterpriseInfo selectEcardEnterpriseInfoById(Long id);

    /**
     * 查询电子名片企业信息列表
     *
     * @param ecardEnterpriseInfo 电子名片企业信息
     * @return 电子名片企业信息集合
     */
    public List<EcardEnterpriseInfo> selectEcardEnterpriseInfoList(EcardEnterpriseInfo ecardEnterpriseInfo, String salt);

    /**
     * 新增电子名片企业信息
     *
     * @param ecardEnterpriseInfo 电子名片企业信息
     * @return 结果
     */
    public int insertEcardEnterpriseInfo(EcardEnterpriseInfo ecardEnterpriseInfo);

    /**
     * 修改电子名片企业信息
     *
     * @param ecardEnterpriseInfo 电子名片企业信息
     * @return 结果
     */
    public int updateEcardEnterpriseInfo(EcardEnterpriseInfo ecardEnterpriseInfo);

    /**
     * 批量删除电子名片企业信息
     *
     * @param ids 需要删除的电子名片企业信息主键集合
     * @return 结果
     */
    public int deleteEcardEnterpriseInfoByIds(String ids);

    /**
     * 删除电子名片企业信息信息
     *
     * @param id 电子名片企业信息主键
     * @return 结果
     */
    public int deleteEcardEnterpriseInfoById(Long id);

    /**
     * 批量移交企业信息
     * @param ecardEnterpriseInfoList
     * @param registId
     * @param userId
     * @return
     */
    int allocationEcardEnterpriseInfo(List<EcardEnterpriseInfo> ecardEnterpriseInfoList, Long registId, Long userId);

    /**
     * 批量释放企业
     * @param ecardEnterpriseInfoList
     * @return
     */
    int batchReleaseEcardEnterpriseInfo(List<EcardEnterpriseInfo> ecardEnterpriseInfoList);

    /**
     * 批量启用/停用企业
     * @param ecardEnterpriseInfoList
     * @return
     */
    int batchSwitchOverEcardMerchantInfo(List<EcardEnterpriseInfo> ecardEnterpriseInfoList);

    /**
     * 查询导出的企业信息
     * @param ecardEnterpriseInfo
     * @return
     */
    List<EcardEnterpriseInfo> selectEcardEnterpriseInfoListByExport(EcardEnterpriseInfo ecardEnterpriseInfo, String salt);

    /**
     * 根据id集合查询企业信息
     * @param ids
     * @return
     */
    List<EcardEnterpriseInfo> selectEcardEnterpriseInfoByIds(String ids, String salt);
}
